#include<iostream>
using namespace std;
int xn,yn,xq,yq,xz,yz;
int h[4]={0,1,0,-1};
int v[4]={1,0,-1,0};
char a[20][20];
void print(){
	for(int i=0;i<xn-1;i++){
		for(int j=0;j<yn;j++){
			cout<<a[i][j];
		}
		cout<<"\n";
	}
	for(int j=0;j<yn;j++){
		cout<<a[xn-1][j];
	}
}
int DFS(int x,int y){
	if((x==xz-1) && (y==yz-1)){
		if(a[xz-1][yz-1]=='X'){
			return 0;
		}
		a[x][y]='*';
		print();
		return 1;
	}
	else{
		for(int i=0;i<4;i++){
            int xh=x+h[i];
            int yh=y+v[i];
			if((xh>=0) && (yh>=0) && (xh<xn) && (yh<yn) && (a[xh][yh]=='O')){
				a[xh][yh]='*';
				if(DFS(xh,yh)==1){
					return 1;
				}
				else{
					a[xh][yh]='O';
				}
			}
		}
		return 0; 
	}
}
int main(){
	cin>>xn>>yn>>xq>>yq>>xz>>yz; 
	for(int i=0;i<xn;i++){
		cin>>a[i];
	}
    a[xq-1][yq-1]='*';
	if(DFS(xq-1,yq-1)==1){
        return 0;
    }
    else{
        cout<<"No";
    }
}
